/* eslint-disable camelcase */
/* eslint-disable no-tabs */
// 封装与文章相关的操作
import ajax from '@/utils/request'

/*
Query
参数名称	是否必须	示例	备注
channel_id	是		频道ID
timestamp	是	时间戳整数 单位毫秒	时间戳，请求新的推荐数据传当前的时间戳，请求历史推荐传指定的时间戳
with_top	是	0或1	是否包含置顶，进入页面第一次请求时要包含置顶文章，1-包含置顶，0-不包含
 */

/**
  * 用来获取指定频道下边的文章列表
  * @param {*} channel_id  频道id
  * @param {*} timestamp   时间戳整数 单位毫秒	时间戳，请求新的推荐数据传当前的时间戳，请求历史推荐传指定的时间戳
  */
export const getArticles = (channel_id, timestamp) => {
  return ajax({
    method: 'GET',
    // eslint-disable-next-line no-undef
    url: '/app/v1_1/articles',
    // params 这个是get 传参的方式
    params: {
      channel_id: channel_id,
      timestamp: timestamp,
      with_top: 1
    }
  })
}
// 对于axios来说，如果要通过body去传参，就写data  ==== post
//  如果要通过query去传参，就要写patams ==== get
/**
 * 文章更多操作---- 不喜欢指定id的文章
 * @param {*} articleId 文章编号
 */
export const dislikeArticle = (articleId) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/article/dislikes',
    // - data : 参数会在在请求体中传递。
    //          如果接口文档中的参数是用body来说明参数，则用data
    data: {
      target: articleId
    }
  })
}

/**
 * 举报指定文章
 * @param {*} articleId 举报文章的编号
 * @param {*} typeId  举报的类型
 */
export const reportArticle = (articleId, typeId) => {
  return ajax({
    method: 'POST',
    url: '/app/v1_0/article/reports',
    // - data : 参数会在在请求体中传递。
    //          如果接口文档中的参数是用body来说明参数，则用data
    data: {
      target: articleId,
      type: typeId
    }
  })
}

/**
 * 根据文章编号来获取文章详情
 * @param {*} id 文章编号
 */
export const getArticle = id => {
  return ajax({
    method: 'GET',
    url: '/app/v1_0/articles/' + id
  })
}
